In [1]:
import pandas as pd

Атрибуты loc/iloc позволяют выбирать группу рядов и колонок

  • .loc[row, column] - выборка по label (индексу)
  • .iloc[row, column] - выборка по исключительно целочисленному индексу/позиции (from START to END-1)
In [2]:
df = pd.read_csv('price.csv', sep=';')
df
Out[2]:
id title price
0 1 Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU.... 10.0
1 2 Ноутбук Asus ROG Strix G15 G512LI-HN057 (90NR0... NaN
2 3 Ноутбук HP Pavilion Gaming 15-bc504ur (7DT87EA... 7.0
3 4 Ноутбук HP Pavilion Notebook 15-cw1011ua (8RW1... 25.0
4 5 Ноутбук Acer Aspire 7 A715-41G-R7MZ (NH.Q8LEU.... 35.0
5 6 Ноутбук Dell Inspiron 3582 (I3582C54H5NIL-BK) ... 5.0
6 7 Ноутбук Apple MacBook Air 13" 256GB 2020 Space... 11.0
7 8 Ноутбук Asus ROG Strix G15 G512LI-HN094 (90NR0... 16.0
8 9 Ноутбук HP Pavilion Notebook 15-cw1002ua (7KE5... 15.0
9 10 Ноутбук HP Pavilion Notebook 15-cw1005ua (7ZF7... NaN
10 11 Ноутбук Lenovo IdeaPad L340-15IRH Gaming (81LK... 10.0
In [4]:
df['price']
Out[4]:
0     10.0
1      NaN
2      7.0
3     25.0
4     35.0
5      5.0
6     11.0
7     16.0
8     15.0
9      NaN
10    10.0
Name: price, dtype: float64
In [5]:
df[['title', 'price']]
Out[5]:
title price
0 Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU.... 10.0
1 Ноутбук Asus ROG Strix G15 G512LI-HN057 (90NR0... NaN
2 Ноутбук HP Pavilion Gaming 15-bc504ur (7DT87EA... 7.0
3 Ноутбук HP Pavilion Notebook 15-cw1011ua (8RW1... 25.0
4 Ноутбук Acer Aspire 7 A715-41G-R7MZ (NH.Q8LEU.... 35.0
5 Ноутбук Dell Inspiron 3582 (I3582C54H5NIL-BK) ... 5.0
6 Ноутбук Apple MacBook Air 13" 256GB 2020 Space... 11.0
7 Ноутбук Asus ROG Strix G15 G512LI-HN094 (90NR0... 16.0
8 Ноутбук HP Pavilion Notebook 15-cw1002ua (7KE5... 15.0
9 Ноутбук HP Pavilion Notebook 15-cw1005ua (7ZF7... NaN
10 Ноутбук Lenovo IdeaPad L340-15IRH Gaming (81LK... 10.0
In [7]:
# df.at[0, 'price']
df['price'][0]
Out[7]:
10.0
In [8]:
df.loc[0, 'price']
Out[8]:
10.0
In [10]:
df.loc[0, :]
Out[10]:
id                                                       1
title    Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU....
price                                                   10
Name: 0, dtype: object
In [12]:
df.loc[0][['id', 'title']]
Out[12]:
id                                                       1
title    Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU....
Name: 0, dtype: object
In [13]:
df.loc[[0, 1, 2, 3, 4]]
Out[13]:
id title price
0 1 Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU.... 10.0
1 2 Ноутбук Asus ROG Strix G15 G512LI-HN057 (90NR0... NaN
2 3 Ноутбук HP Pavilion Gaming 15-bc504ur (7DT87EA... 7.0
3 4 Ноутбук HP Pavilion Notebook 15-cw1011ua (8RW1... 25.0
4 5 Ноутбук Acer Aspire 7 A715-41G-R7MZ (NH.Q8LEU.... 35.0
In [16]:
df.loc[0:4, :]
Out[16]:
id title price
0 1 Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU.... 10.0
1 2 Ноутбук Asus ROG Strix G15 G512LI-HN057 (90NR0... NaN
2 3 Ноутбук HP Pavilion Gaming 15-bc504ur (7DT87EA... 7.0
3 4 Ноутбук HP Pavilion Notebook 15-cw1011ua (8RW1... 25.0
4 5 Ноутбук Acer Aspire 7 A715-41G-R7MZ (NH.Q8LEU.... 35.0
In [20]:
df.loc[:, ['id', 'price']]
Out[20]:
id price
0 1 10.0
1 2 NaN
2 3 7.0
3 4 25.0
4 5 35.0
5 6 5.0
6 7 11.0
7 8 16.0
8 9 15.0
9 10 NaN
10 11 10.0
In [23]:
df.loc[:2, 'id':'price']
Out[23]:
id title price
0 1 Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU.... 10.0
1 2 Ноутбук Asus ROG Strix G15 G512LI-HN057 (90NR0... NaN
2 3 Ноутбук HP Pavilion Gaming 15-bc504ur (7DT87EA... 7.0
In [26]:
df.iloc[0:4, 1:3]
Out[26]:
title price
0 Ноутбук Acer Aspire 5 A515-54G-502N (NX.HVGEU.... 10.0
1 Ноутбук Asus ROG Strix G15 G512LI-HN057 (90NR0... NaN
2 Ноутбук HP Pavilion Gaming 15-bc504ur (7DT87EA... 7.0
3 Ноутбук HP Pavilion Notebook 15-cw1011ua (8RW1... 25.0

Homework

In [27]:
# получите строки с четнымми индексами
In [28]:
# получите строки с нечетнымми индексами
In [29]:
# попробуйте получить "перевернутый" DataFrame
In [30]:
# получите все строки с имеющейся ценой
In [31]:
# получите только первую строку
In [32]:
# получите только последнюю строку
In [33]:
# получите только последнюю колонку, используя синтаксис срезов
In [ ]: